package com.wlc.base;

/**
 * @author 王立朝 wanglichao@champion-credit.com
 * @description 类型转换
 * @date 2021-06-11 15:37
 */
public class Demo04 {

    public static void main(String[] args) {
        int i = 128;
        // 1、强制转换，容易导致内存溢出  （类型)变量名  高->低
        byte b =(byte) i;
        System.out.println(i);
        // 下面的这个b 输出 -128 ，内存溢出， Byte 的最大值是 127 ， 最小值是-128
        System.out.println(b);

        //2、自动转换 低-》高
        double d = i;
        // 输出128。0
        System.out.println(d);
        /**
         * 注意点：
         * 1、不能布尔值进行转换
         * 2、不能把对象类型转换为不想干的类型
         * 3、在把高容量的转换到低容量的时候，强制转换
         * 4、转换的时候存在内存溢出，精度问题
         *
         * */
        System.out.println("=============");
        // 23
        // -23
        System.out.println((int)23.7);
        System.out.println((int)-23.7f);

        System.out.println("================");
        char c = 'a';
        int d1 = c+2;
        System.out.println(d1);
        char c1 = (char) d1;
        System.out.println(c1);

    }

}
